package com.dscyy.readutil;

import java.io.BufferedReader;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.util.ArrayList;
import java.util.List;

import com.google.gson.Gson;
class CZObj {
	private String 网址;
	private String 企业名称;
	private String 电话;
	private String 手机;
	private String 联系人;
	private String 地址;
	private String 经营模式;
	private String 经营状态;
	private String 公司类型;
	private String 成立日期;
	private String 法定代表人;
	private String 注册资本;
	private String 登记机关;
	private String 经营范围;
	public String get网址() {
		return 网址;
	}
	public void set网址(String 网址) {
		this.网址 = 网址;
	}
	public String get企业名称() {
		return 企业名称;
	}
	public void set企业名称(String 企业名称) {
		this.企业名称 = 企业名称;
	}
	public String get电话() {
		return 电话;
	}
	public void set电话(String 电话) {
		this.电话 = 电话;
	}
	public String get联系人() {
		return 联系人;
	}
	public void set联系人(String 联系人) {
		this.联系人 = 联系人;
	}
	public String get手机() {
		return 手机;
	}
	public void set手机(String 手机) {
		this.手机 = 手机;
	}
	public String get地址() {
		return 地址;
	}
	public void set地址(String 地址) {
		this.地址 = 地址;
	}
	public String get经营模式() {
		return 经营模式;
	}
	public void set经营模式(String 经营模式) {
		this.经营模式 = 经营模式;
	}
	public String get经营状态() {
		return 经营状态;
	}
	public void set经营状态(String 经营状态) {
		this.经营状态 = 经营状态;
	}
	public String get公司类型() {
		return 公司类型;
	}
	public void set公司类型(String 公司类型) {
		this.公司类型 = 公司类型;
	}
	public String get成立日期() {
		return 成立日期;
	}
	public void set成立日期(String 成立日期) {
		this.成立日期 = 成立日期;
	}
	public String get法定代表人() {
		return 法定代表人;
	}
	public void set法定代表人(String 法定代表人) {
		this.法定代表人 = 法定代表人;
	}
	public String get注册资本() {
		return 注册资本;
	}
	public void set注册资本(String 注册资本) {
		this.注册资本 = 注册资本;
	}
	public String get登记机关() {
		return 登记机关;
	}
	public void set登记机关(String 登记机关) {
		this.登记机关 = 登记机关;
	}
	public String get经营范围() {
		return 经营范围;
	}
	public void set经营范围(String 经营范围) {
		this.经营范围 = 经营范围;
	}
	@Override
	public String toString() {
		return "网址,\"" + 网址 + "\", 企业名称,\"" + 企业名称 + "\", 电话,\"" + 电话+ "\", 手机,\"" + 手机+ "\", 联系人,\"" + 联系人 + "\", 地址,\"" + 地址 + "\", 经营模式,\"" + 经营模式 + "\", 经营状态,\"" + 经营状态
				+ "\", 公司类型,\"" + 公司类型 + "\", 成立日期,\"" + 成立日期 + "\", 法定代表人,\"" + 法定代表人 + "\", 注册资本,\"" + 注册资本 + "\", 登记机关,\"" + 登记机关
				+ "\", 经营范围,\"" + 经营范围+"\"";
	}
	
	

	
}
public class ReadCZPages {
	static List<CZObj> swlms = new ArrayList<CZObj>();
	static List<CompanyInfos> list = new ArrayList<CompanyInfos>();
	static Gson g = new Gson();
	public static void main(String[] args) throws Exception {
		// get web site
//		for(int i=1;i<=18;i++) {
//			System.out.println("wget -O "+i+".html " + "http://www.czvv.com/s0k6aKN5rOJ5Yy65Li05rKC5ZWG5Z+Op"+i+".html");
//		}
		
		System.out.println("start");
		File file = new File("D:\\wget\\bin\\cz");
		File[] tempList = file.listFiles();
		for(File f1 : tempList) {
			//System.out.println(f1.getAbsolutePath());
//			if(f1.getName().length()<8) {
////				System.out.println(f1.getAbsolutePath()+"======================");
//				processCompanyInfo(f1.getAbsolutePath()); // 得到店铺网址和名称
//			}
			if(f1.getName().length()>8) {
				processCompanyDetailInfo(f1.getAbsolutePath(), 0); //  read company detail info
			}
		}
	}

	private static int processCompanyDetailInfo(String fileName, int level) throws Exception {

		FileReader reader = new FileReader(fileName);
		BufferedReader br = new BufferedReader(reader);
		String str = null;
		String info = "";
		StringBuffer sb = new StringBuffer("{");
		while ((str = br.readLine()) != null) {
			if(str.contains("<link rel=\"canonical\" href=\"")) { // 网址
				info = str.substring(str.indexOf("<link rel=\"canonical\" href=\"")+"<link rel=\"canonical\" href=\"".length(), str.indexOf("/>")-2);
				sb.append("网址:\""+info+"\",");
			}
			if(str.contains("    <title>")) { // 企业名称
				info = str.substring(str.indexOf("<title>")+7, str.indexOf("</title>"));
				sb.append("企业名称:"+info+",");
			}
			if(str.contains("经营状态：")) { // 经营状态
				info = str.substring(str.indexOf("经营状态：")+5, str.indexOf("</li>"));
				sb.append("经营状态:\""+info+"\",");
			}
			if(str.contains("公司类型：")) { // 公司类型
				info = str.substring(str.indexOf("公司类型：")+5, str.indexOf("</li>"));
				sb.append("公司类型:\""+info+"\",");
			}
			if(str.contains("成立日期：")) { // 成立日期
				info = str.substring(str.indexOf("成立日期：")+5, str.indexOf("</li>"));
				sb.append("成立日期:\""+info+"\",");
			}
			if(str.contains("法定代表人：")) { // 法定代表人
				info = str.substring(str.indexOf("法定代表人：")+6, str.indexOf("</li>"));
				sb.append("法定代表人:\""+info+"\",");
			}
			if(str.contains("注册资本：")) { // 注册资本
				info = str.substring(str.indexOf("注册资本：")+5, str.indexOf("</li>"));
				sb.append("注册资本:\""+info+"\",");
			}
			if(str.contains("登记机关：")) { // 登记机关
				info = str.substring(str.indexOf("登记机关：")+5, str.indexOf("</li>"));
				sb.append("登记机关:\""+info+"\",");
			}
			if(str.contains("经营范围：")) { // 经营范围
				info = str.substring(str.indexOf("经营范围：")+5);
				sb.append("经营范围:\""+info.replaceAll("</li>", "")+"\",");
			}
			if(str.contains("电话:")) { // 电话
				info = str.substring(str.indexOf("电话:")+3, str.indexOf("</td>"));
				sb.append("电话:\""+info+"\",");
			}
			if(str.contains("手机:")) { // 手机
				info = str.substring(str.indexOf("手机:")+3, str.indexOf("</td>"));
				sb.append("手机:\""+info+"\",");
			}
			if(str.contains("联系人:")) { // 联系人
				info = str.substring(str.indexOf("联系人:")+4, str.indexOf("</td>"));
				sb.append("联系人:\""+info+"\",");
			}
			if(str.contains("经营模式:")) { //经营模式
				info = str.substring(str.indexOf("经营模式:")+5, str.indexOf("</td>"));
				sb.append("经营模式:\""+info+"\",");
			}
			if(str.contains("地址:")) { // 地址
				info = str.substring(str.indexOf("地址:")+3, str.indexOf("</td>"));
				info = formatAddress(info);
				sb.append("地址:\""+info+"\",");
			}
		}
		sb = sb.delete(sb.length()-1, sb.length());
		sb.append("}");
//		 System.out.println(sb.toString());
		if(sb.length()>20) {
			CZObj obj = g.fromJson(sb.toString(), CZObj.class);
			System.out.println(obj);
			swlms.add(obj);
		}
		br.close();
		reader.close();
		return level;
	}

	private static String formatAddress(String str) {
		while(str.contains("<")) {
			str = str.replace(str.substring(str.indexOf("<"),str.indexOf(">")+1),"");
		}
		return str;
	}

	private static void processCompanyInfo(String fileName) throws Exception {
		FileReader reader = new FileReader(fileName);
		BufferedReader br = new BufferedReader(reader);
		String str = null;
		String info = "";
		String name = "";
		while ((str = br.readLine()) != null) {
			if(str.contains("<a class=\"line_a\" href=\"")) { // 网址
				info = str.substring(str.indexOf("<a class=\"line_a\" href=\"")+"<a class=\"line_a\" href=\"".length(), str.indexOf("\" target=\"_blank\""));
				System.out.println("wget -O "+name + ".html  " + info);
			}
			if(str.contains("                             title=\"")) { // 网址
				name = str.substring(str.indexOf("title=\"")+"title=\"".length(), str.indexOf("\"/>"));
				
			}
		}
		br.close();
		reader.close();
		
	}

}
